<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <input type="text" id="ele">

    <script>
        const ele = document.getElementById('ele');
        Object.defineProperty(ele,'type',{
            // 没有加set 默认为只读
            // writable:false,
            set(v){
                type=v;
            },
            get(){
                console.log('------');
                return this.getAttribute('type') || 'text';
            }
        })
        console.log(ele.type='number');
        console.log(ele.type);
        console.log(Reflect.set(ele,'type','number'));
    </script>
</body>
</html>